The invention relates generally to three-dimensional (3D) graphics processing and more particularly to a method and apparatus for compressing parameter values for pixels within a 3D graphics display frame.
Computers are used in many applications. As computing systems continue to evolve, the graphical display requirements of the systems become more demanding. This is especially true in the area of three-dimensional (3D) graphics processing. In order to process 3D graphics images, the position of graphics primitives with respect to the display must be understood in all three dimensions. This includes the dimension of depth, often referred to as the Z-dimension. The Z-dimension describes the positioning of a 3D graphics primitive with respect to other 3D graphics primitives within the display frame in terms of depth, or distance from the viewer. This allows objects to be drawn in front of or behind one another in an overlapping fashion.
Computer displays and other high resolution display devices such as high definition televisions (HDTVs), projectors, printers, and the like, present an image to the viewer as an array of individual picture elements, or pixels. The individual pixels are given a specific color that corresponds to the color of the image at the location of the particular pixel. The pixels are closely spaced, and the viewer""s visual system performs a filtering of the individual pixel colors to form a composite image. If the partitioning of the image into the individual pixel elements is performed properly, and the pixels are close enough together, the viewer perceives the displayed array of pixels as a virtually continuous image.
In order to present a smooth and continuous image on the display, the processing entity processing the 3D graphics images must maintain a high rate of pixel processing. In order to achieve high rates of pixel processing, pixel data stored in display memory must be retrieved, processed, and then stored back in the memory in an efficient manner. In order to achieve very high pixel processing rates, a large amount of memory bandwidth is required. This is because as new pixel fragments are received, at least the already existing Z component of pixels stored in a display frame must be retrieved and compared with the fragment to generate an updated image. The resulting set of information for each altered pixel must then be stored back into memory.
As the resolution, or number of pixels in a designated area, of the display increase, the memory bandwidth requirements to maintain the displayed image also increases. More memory bandwidth requirements translate into increased costs. This can be due to the requirement for faster, more expensive memories whose speed provides the needed bandwidth, or through multiple memories that can operate in parallel. Parallel memory structures are undesirable as they add complexity to the system and increase costs of manufacturing 3D graphics processing systems.
Therefore, a need exists for a method and apparatus for reducing the memory bandwidth requirements in a 3D graphics system.